home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1999 #1 / Amiga Plus 1999 #1.iso / System-Boost / Sound / Deli14BitGenie / Deli14BitGenie.doc < prev    next >
Text File  |  1998-06-21  |  11KB  |  254 lines

  1. 14bit NotePlayer Genie V2.66 (16-Jun-98)
  2. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  3.  
  4. Introduction
  5. ~~~~~~~~~~~~
  6. This is the well known 14bit NotePlayer that  comes  with  the  DeliTracker
  7. distribution.  After Peter Kunath gave me the sourcecode, I was able to add
  8. various features. Please notice that you need at least an  MC68020  to  use
  9. them as the MC68000 routines have been left untouched! So there's NO reason
  10. for MC68000 owners to download this new genie.
  11.  
  12. Plenty of cpu power is appreciated (although the Genie will not  be  slower
  13. when  not  using  the new features). You will need an MC68060 to be able to
  14. mix at frequencies higher than 50KHz with Panning and Interpolation and  32
  15. voices 8-D
  16.  
  17. Small list of new features/improvements:
  18.  
  19. - Now uses a faster longword chipmem transfer.
  20. - Added Panning support (e.g. for FastTracker modules).
  21. - Added stereo width slider (so this incorporates the HeadPhones Genie).
  22. - Added Interpolation mode for high quality mixing.
  23. - Added DSP Routines: Echo (Reverb), Hall (Reverb with feedback) and
  24.   Reverser (each one is available in Mono, Cross or Center mode).
  25. - Added ModSave function (16 Bit AIFF or RAW file).
  26. - The ModSave routine has a Normalize option which will do a peak search.
  27. - The ModSaver also will cut off NULL-samples at the beginning  and at  the
  28.   end of a saved soundfile.
  29. - Actual (DMA) mixing frequency is now displayed aswell.
  30. - Now uses a 256 samples buffer instead of 200, which speeds  things  up  a
  31.   little and doesn't cost too much precision.
  32. - Settings can be saved individually for each module.
  33.  
  34.  
  35. Installation
  36. ~~~~~~~~~~~~
  37. Just place the main file into your DeliTracker/Genies folder (by  replacing
  38. the old 14bit NotePlayer).
  39.  
  40.  
  41. Configuration
  42. ~~~~~~~~~~~~~
  43. Please note that the configuration file of versions below V2.65 had  to  be
  44. extended and is not compatible anymore.
  45.  
  46. Starting  with  V2.66,  all  settings  can  be  saved   for   each   module
  47. individually.  When  selecting  the  "Save  Prefs  for  Mod"  item  in  the
  48. "Settings" menu, a new prefs file  is  saved  in  a  subdirectory  of  your
  49. DeliConfig  drawer called "ModPrefs". The next time you play a module which
  50. has an associated prefs file for the 14bit Genie, these settings  are  used
  51. instead  of  the  default ones. The last settings will be restored when you
  52. eject the module again.
  53.  
  54. To reload the last saved settings for modules with no extra prefs, use  the
  55. "Reload Global Prefs" menu item.
  56.  
  57.  
  58. Panning
  59. ~~~~~~~
  60. Panning is AFAIK  currently  only  supported  by  FastTracker  and  OctaMed
  61. Soundstudio  Modules,  but  you  can enable it at any time to reduce stereo
  62. width (e.g when listening with headphones or recording a module  to  tape).
  63. The  panning  routine  is  rather fast and will not use much additional cpu
  64. power unless you use it together with interpolation which nearly double the
  65. time used for mixing.
  66.  
  67. The stereo width slider can only be dragged with panning enabled. A setting
  68. of  0%  yields  to  perfect  mono  sound whereas 200% tries to increase the
  69. seperation. Settings between 100% and 200% do not make  any  difference  on
  70. Players without panning support.
  71.  
  72.  
  73. Interpolation
  74. ~~~~~~~~~~~~~
  75. Turning the interpolation on will generally yield smoother sound. How  this
  76. work?  Normally, the sample frequencies in most modules are much lower than
  77. the output frequency. So the routine takes the instruments  and  calculates
  78. the  values  inbetween  two  samples creating smaller steps. Unfortunately,
  79. this normally makes some instruments sound a bit damp on the other hand.
  80.  
  81. Please note that this routine does ONLY do interpolation and (currently) NO
  82. SMOOTHING. So a sample with higher sample rate than the mixing frequency is
  83. not interpolated in any way.
  84.  
  85. Also note  that  with  interpolation  enabled  you  can  lower  the  mixing
  86. frequency  a  lot  and  normally  still  get pretty good quality sound (for
  87. Protracker Modules 28KHz is normally sufficient).  There's  also  a  little
  88. 'anti-knack' effect, but it isn't worth mentioning.
  89.  
  90. Interpolation takes some  cpu  power  (each  sample  word  needs  one  MULS
  91. instruction!)  to perform. This gets worse when panning is enabled too, for
  92. then both the left and right part of the sample need to be interpolated.
  93.  
  94.  
  95. DSP Routines
  96. ~~~~~~~~~~~~
  97. The DSP is something I always wished  to  have  in  the  14bit  Genie.  The
  98. effects performed by these routines give most modules a whole new dimension
  99. and depth of sound.
  100.  
  101. The DSP effects can be applied to the same channel (Echo,  Hall,  Reverser)
  102. or alternating between the channels (Cross-Echo, Cross-Hall, X-Reverser) or
  103. in the middle (Center-Echo, Center-Hall, Y-Reverser).
  104.  
  105. Echo-DSP: Adds a single echo to the audio stream after the given delay.
  106.  
  107. Hall-DSP: Adds a echo to the audio stream which will be reused for the next
  108.           echo (feedback).
  109.  
  110. Reverser: The original source is written to  the  audio  stream  after  the
  111.           specified delay. Several echos with increasing volume  are  added
  112.           before the delay point (this creates an effect as if the sound is
  113.           played reverse, but in fact it isn't).
  114.  
  115. There are two parameters to play with. The first one is the Delay. How much
  116. time  passes until you will hear the feedback depends on the slider setting
  117. aswell as the  DSP  buffer  size  and  the  mixing  frequency.  The  second
  118. parameter  is  the  volume. This controls the loudness of the DSP feedback.
  119. Just play around with it a little bit. Please notice that you should  lower
  120. the  main  volume when using DSP volumes of 100% or 50% by the same amount.
  121. Otherwise you probably will get some distortions.
  122.  
  123. Luckily, the DSP Routines are quite simple and normally don't need much cpu
  124. time to perform (I'd say it's roughly the power of 1-2 additional channels.
  125. The Reverser however, needs a bit more time than the Echo or  Hall  effects
  126. (but I haven't measured how much it is in fact).
  127.  
  128. I'm willing to add more effects on request (Phaser, Flanging, etc.).
  129.  
  130.  
  131. ModSave Option
  132. ~~~~~~~~~~~~~~
  133. For the ModSave Genie which comes with the  DeliTracker  distribution  only
  134. supports 8 bit samples I've added this feature to the 14bit NotePlayer.
  135.  
  136. You can either save the music as standard AIFF 16bit stereo  sample  or  as
  137. raw  pulse  coded  binary  file  (the  left/right  channel  words are saved
  138. interleaved). You can select either kind in the Settings menu.
  139.  
  140. To save a module as a sample you need to enter  a  valid  filename  in  the
  141. string  gadget  and then tag the save checkbox (before loading the module).
  142. If you press return (or  tab)  in  the  empty  filename  string  gadget,  a
  143. filerequester  will  pop  up  asking for the name of the file to save. This
  144. will also happen if you tag the save checkbox  and  no  name  is  given  in
  145. string gadget.
  146.  
  147. The realtime saving needs a fast  harddrive  (preferably  SCSI  for  AT-IDE
  148. needs  cpu  power  to  poll  the  data)  and  a  fast  machine.  If you get
  149. Overflow-Errors, try to lower the sample rate or use  a  faster  drive  (or
  150. contact  me  for  a  special 'even-more-save-buffers' version). The ModSave
  151. subtask runs at priority +1 to avoid  being  locked  out  for  a  too  long
  152. period.
  153.  
  154. The routines are auto-sensing for the beginning and the end of  the  sample
  155. (so there will be neither NULL-bytes in front or at the end).
  156.  
  157. The saving will be automatically stopped when any error occurs (there might
  158. not be any error message though (i.e. no memory for buffers)).
  159.  
  160. Please note that the Boost-Slider will have no effect on the overall volume
  161. of the written sample!
  162.  
  163. There is an option to automatically Normalize  the  resulting  sample.  For
  164. this  step, the maximum peak of the sample is scanned for during the mixing
  165. process (so this needs some more cpu power if you enable it) and will  then
  166. adjust the volume of the sample AFTER the saving has been stopped (so don't
  167. worry if your drive gets busy after the module has finished). You'll get  a
  168. busy pointer until the process is finished.
  169.  
  170. After any successful (!) saving process the  Save  checkbox  gets  untagged
  171. automatically to avoid overwriting the just saved samples by a new one.
  172.  
  173. A short note: The AIFF file will use the frequency value you've entered  in
  174. the  Mixing  Freq.  box.  If  this value differs from the actual DMA output
  175. rate, the pitch of sample might be a bit offset on other computers. On  the
  176. other hand, this allows you to create e.g. '44100 Hz' samples (which are in
  177. fact mixed at 44336 Hz) to burn them onto CD (as some programs don't accept
  178. other rates).
  179.  
  180. Note that enabling the ModSave feature will increase the amount  of  (fast)
  181. memory used currently by 128KB.
  182.  
  183.  
  184. Some "DO NOT"s
  185. ~~~~~~~~~~~~~~
  186. - Don't change the mixing frequency with the DSP turned on. This  will  not
  187.   do any harm, but cause strange sounds for the buffer is not cleared.
  188.  
  189. - Changing the buffer size while playing will clear the old buffer. Just be
  190.   aware of it.
  191.  
  192. - Don't fiddle with the mixing frequency while using the ModSave  function.
  193.   This just causes the sample to sound wrong.
  194.  
  195. - Please don't toggle the Panning setting while using the ModSave function.
  196.   This *could* cause some 'leaks' in the resulting file (this has not  been
  197.   tested though).
  198.  
  199. - Please don't change the type of file to write while saving. This probably
  200.   just  will cut off the beginning of the sample or will give you a useless
  201.   AIFF header.
  202.  
  203. - Turning the Normalize function after  saving  has  started  may  lead  to
  204.   distorted samples if the maximum peak already has been passed.
  205.  
  206.  
  207. Final Notes
  208. ~~~~~~~~~~~
  209. Special  thanks  must  go  to  Richard  'Zeg'  Wagenführer  and   Christian
  210. 'Flowerpower'  Buchner  for  beta  testing  and support and to Peter 'Deli'
  211. Kunath for his sources and help on various issues.
  212.  
  213. Thanks must also go to all those people who already sent me there  comments
  214. and bug reports.
  215.  
  216. The Genie has been tested with Enforcer and MungWall, but if you  encounter
  217. any  bugs  or  flaws, please report them. I also appreciate any comments on
  218. the new features or suggestions for futher versions.
  219.  
  220. This software is Postcard-Ware and freely distributable, as  long  as  this
  221. archive  remains  complete  and  unaltered.  So  if  you  like  it, I would
  222. appreciate  if  you'd  send  me  a  nice  postcard  of  your  location   :)
  223. Alternatively, you might just smash the next PC you come along.
  224.  
  225.  
  226. History
  227. ~~~~~~~
  228. V2.65 (06-Jun-98):
  229.   - First public (AmiNet) release of the new version.
  230.  
  231. V2.66 (16-Jun-98):
  232.   - Doubled the ModSave Buffers (now 128KB) for slower  machines  to  avoid
  233.     overflows. This flaw has been reported by Ralph Bernecker.
  234.   - Detected a bug which would not flush the last ModSave Buffer if  a  PCM
  235.     RAW file should have been written. Fixed.
  236.   - Added feature to cut off trailing NULL-samples when doing a ModSave.
  237.   - Added busy pointer during truncating or normalizing process.
  238.   - Now you'll get a file request when pressing return in an empty Filename
  239.     string gadget.
  240.   - All settings can now be saved individually for each module.
  241.   - Interpolation routine now uses  15bit  accuracy  instead  of  8bit  for
  242.     subsample factor calculation (just a little bit slower).
  243.  
  244. Contact address
  245. ~~~~~~~~~~~~~~~
  246. Any mail, comments or donations welcome:
  247.  
  248. Chris Hodges                    Account: 359 68 63
  249. Kennedystr. 8                   BLZ    : 700 530 70
  250. D-82178 Puchheim                Bank   : Sparkasse Fürstenfeldbruck
  251. Germany
  252. Tel.: +49-89/8005856            WWW: http://platon.home.pages.de/
  253. Email: platon@cu-muc.de         IRC: platon42 on EfNet
  254.